package com.example.spring.bean.load04lazy;

import com.example.spring.pojo.User;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

/**
 * 测试懒加载
 * <p>
 * <p>
 */
public class LazyBeanDemo {

    public static void main(String[] args) {
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(InitConfig.class);

        String[] names = context.getBeanDefinitionNames();
        for (String name : names) {
            //此处会打印出lazyU 的bean名称，但是他并没有被实例化。直到下面getBean的时候才进行实例化
            System.out.println(name);
        }

        System.out.println("-------------");

        User bean = context.getBean(User.class);
        System.out.println(bean);
        //输出 实现化bean时候的语句， 可以去掉 @Lazy ,重新运行下看输出的差异
        //now create lazyU bean...
        //User{id=21, name='lazyU'}

        context.close();
    }
}
